package com.naiterui.ehp.bs.cms.modules.statistics.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.naiterui.ehp.bs.cms.common.constants.DsName;
import com.naiterui.ehp.bs.cms.modules.agent.vo.AgentAchievementListVO;
import com.naiterui.ehp.bs.cms.modules.statistics.entity.AsAgentInviteCount;
import com.naiterui.ehp.bs.cms.modules.statistics.vo.DataReportInviteVO;

/**
 * 经纪人统计-邀请医生
 *
 * @author yangfuya
 * @since 2022/2/16
 */
@DS(DsName.EHP)
public interface AsAgentInviteCountMapper extends BaseMapper<AsAgentInviteCount> {

    DataReportInviteVO getInviteTotal(Long agentId);

    List<DataReportInviteVO> getInviteList(Long agentId, String typeFormat, String dateFormat, String reportDate);

    Integer getInviteCountTotal(Long agentId);

    List<DataReportInviteVO> getInviteCountList(Long agentId, List<String> dateList);

    Page<AgentAchievementListVO> getInvitePage(@Param("page") IPage page, Long agentId, String typeFormat,
        String dateFormat, String reportDate);

    List<AgentAchievementListVO> exportAgentInviteList(List<String> agentIdList, String dateFormat,
        List<String> reportDateList);

}
